package com.ccys.db.vo.doctor.consultStage;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Author：XLY
 * @Date：2024/2/22 0022
 */
@Data
public class GetMedicationFavouriteWithCountryVo {

    private String id;      //": "201227dc-8f17-4874-9506-00a5c6971167",

    private String name;      //": "Daikyn 0.5mg (Estriol 0.5mg)",

    private Integer quantity;      //": 0,

    @JsonProperty("drug_code_name")
    private String drugCodeName;      //": null,

    @JsonProperty("drug_code_color")
    private String drugCodeColor;      //": null,

    private String dosage;      //": null,

    @JsonProperty("unit_dosage_formm")
    private String unitDosageFormm;      //": null,

    @JsonProperty("recommended_dosage")
    private String recommendedDosage;      //": "",

    @JsonProperty("recommended_frequency")
    private String recommendedFrequency;      //": "",

    @JsonProperty("recommended_no_of_tables")
    private String recommendedNoOfTables;      //": "",

    private String remarks;      //": "",

    @JsonProperty("per_tablet_dosage")
    private String perTabletDosage;      //": 1.0,

    @JsonProperty("formulation_name")
    private String formulationName;      //": "Suppository",

    @JsonProperty("route_doctor_name")
    private String routeDoctorName;      //": "Suppository",

    @JsonProperty("route_patient_name")
    private String routePatientName;      //": "Use",

    @JsonProperty("unit_quantity_type_id")
    private String unitQuantityTypeId;      //": 12,

    @JsonProperty("unit_quantity_type_name")
    private String unitQuantityTypeName;      //": "Suppository",

    private BigDecimal price;      //": 15600.0,

    private boolean isPartner;      //": true,

    private Integer isPackage;      //": 0,

    @JsonProperty("take_complete_course")
    private boolean takeCompleteCourse;      //": false,

    private boolean prn;      //": false,

    @JsonProperty("what_is_for")
    private String whatIsFor;      //": "",

    @JsonProperty("may_cause_drowsiness")
    private boolean mayCauseDrowsiness;      //": false,

    @JsonProperty("any_other_precautions")
    private String anyOtherPrecautions;      //": "",

    @JsonProperty("quantity_in_box_packet")
    private Integer quantityInBoxPacket;      //": "",

    @JsonProperty("unit_of_measurement")
    private List<UnitOfMeasurementVo> unitOfMeasurement;

    @JsonProperty("ingredient_only")
    private String ingredientOnly; //": " (Estriol 0.5mg)",

    @JsonProperty("name_only")
    private String nameOnly; //": "Daikyn 0.5mg"


    @JsonIgnore
    private List<IngredientVo> ingredientList;

    @Data
    public static class UnitOfMeasurementVo{

        private String ordering;  //": 12,

        private String id;  //": 12,

        private String name;  //": "tablet(s)"

    }



    @Data
    public static class IngredientVo{


        private String name;

        private String dosage;

    }
}
